#ifndef __UPDATABLE_H__
#define __UPDATABLE_H__

#include "CoordF.h"

/*
 * Classe: Updatable
 *
 *   Interface para objetos que podem ser atualizados no decorrer do tempo (dt)
 *
*/

class Updatable
{
      protected:
             CoordF cDir;
             GLfloat fSpeed;

             Updatable() : cDir(0,0,0), fSpeed(0.0) {}
             Updatable(CoordF dir) : fSpeed(0.0) { setDir(dir); }
             Updatable(CoordF dir, GLfloat speed) { setDir(dir); setSpeed(speed); }
             ~Updatable() {}

      public:
             virtual void setDir(CoordF newDir) { cDir = newDir; }
             virtual CoordF getDir() { return(cDir); }

             virtual void setSpeed(GLfloat newSpeed) { fSpeed = newSpeed; }
             virtual GLfloat getSpeed() { return (fSpeed); }

             virtual void update(double dt) {}
};

#endif
